技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
0
我從 Angular 中分離出來依賴註入:`static-injector`
angular
nodejs
web
frontend
wszgrcy
2024-03-24 14:05:04
‧
601 瀏覽
分享至
Angular 中的依賴註入確實非常好用,可以使服務之間的依賴關系變得更加靈活和可復用
但是只能在 Angular 中的使用限製了他的發揮,需要讓他在所有 node/前端 平臺上都可以使用
如何使用?
如果你並不關心是如何實現的,可以直接
訪問使用文檔
為什麽不寫一個與 Angular 依賴註入相同的包
一個成熟的功能往往經過了多方面的考量,所以如果能不造輪子那麽是最好的
直接使用 Angular 的源碼可以保證功能與官方一直同步,不需要擔心自己實現的邏輯與官方之間存在差異
node/前端使用同樣的邏輯沒有心智負擔
直接復製代碼就能使用了?
當然不是,首先 Angular 中的源碼都是為了它自身設計服務的,所以會有一些我們不需要的功能需要刪減.比如
@Module
會有依賴註入相關的代碼,
@Host
等組件裝飾器,還有更多非通用依賴都需要去除
Angular 使用依賴註入為靜態依賴註入,所以需要實現自己的靜態編譯方法,保證代碼與官方一致
需要創建接口,對接並調用 Angular 源碼,使得功能正常運行
運行成功就結束了?
運行成功不是結束,反而是開始的第一步,代碼成功獨立執行了,那麽接下來就要保證代碼能與
Angular
官方同步,不錯過新的特性,也不錯過缺陷修復
所以我們要找到一種可以穩定修改代碼的方法,可以隨著項目更新自動對代碼進行裁剪,然後針對裁剪結果進行細微調整,減少工作量
使用
Code Recycle
對代碼進行穩定更新同步
更新同步腳本
通過腳本對 Angular 源碼進行拉取,使用 css 選擇器語法查詢並修改代碼
修改代碼之後對代碼進行測試
每次更新後只需要修改 tag => 同步更新 => 測試 => 調整(如果有問題) => 發布.減少了手工修改可能產生的問題
如何知道倉庫支持哪些功能
查看用例
所有存在的用例均經過了測試驗證,如果您有其他功能需要使用也可以提交 issue
留言
追蹤
檢舉
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19776
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
碩士學歷能幫助我突破職涯天花板嗎?
群輝NAS套件Docker部署Outline
維護合約的合理性
如何讓Windows 11 Professional 開啟Synology DS925+網路芳鄰的速度加快?
librenms 25.4.0 重開機都要重新設定
Librenms ssl憑證檢查 通知方式
Exchange EMS掛掉導致Q信(2016)
熱門回答
碩士學歷能幫助我突破職涯天花板嗎?
維護合約的合理性
群輝NAS套件Docker部署Outline
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
librenms 25.4.0 重開機都要重新設定
熱門文章
資安入門與實務應用介紹 29:智能合約漏洞與加密貨幣詐騙案例分析
資安入門與實務應用介紹 28:APT(高階持續性威脅)攻擊解析與防範方法
Day 7:防火牆配置與流量過濾(Firewall Configuration and Traffic Filtering)
C++開啟資料夾及檔案的方法
打造你的第一個 MCP Server:從概念到實作
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}